package com.lhkj.ct.meta.modules.psychology.model.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.lhkj.ct.base.validator.group.ValGroups;
import com.lhkj.ct.meta.modules.common.enums.AnswerState;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 描述
 * </p>
 *
 * @author job
 * @since 2023/10/14
 */
@Setter
@Getter
public class PsyRecordsVo {

    @ApiModelProperty(value = "测验记录id")
    private String id;

    @NotBlank(message = "档案id不能为空", groups = {ValGroups.User.class})
    @ApiModelProperty(value = "档案id")
    private String patId;

    @ApiModelProperty(value = "姓名")
    private String patName;

    @ApiModelProperty(value = "性别")
    private String patSex;

    @ApiModelProperty(value = "年龄")
    private Integer patAge;

    @ApiModelProperty(value = "团体名称")
    private String unitName;

    @ApiModelProperty(value = "量表名称")
    private String scaleName;

    @ApiModelProperty(value = "测验开始时间")
    private Date startTime;

    @ApiModelProperty(value = "测验结束时间")
    private Date closingTime;

    @ApiModelProperty(value = "测验类型", notes = "1.日常测验 2.普测")
    private Integer psyType;

    @ApiModelProperty(value = "开单医生(工号)")
    private String billDoctor;

    @ApiModelProperty(value = "开单科室")
    private String billDept;

    @ApiModelProperty(value = "开单时间")
    private LocalDateTime billTime;

    @ApiModelProperty(value = "执行人")
    private String executor;

    @ApiModelProperty(value = "分配人")
    private String createBy;

    @ApiModelProperty(value = "分配时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "作答状态", notes = "0.未作答 1.作答中 2.已作答")
    private AnswerState status;

    @ApiModelProperty(value = "单位")
    private List<String> units;

    @ApiModelProperty(value = "作答状态", hidden = true)
    @JsonIgnore
    private AnswerState[] stateList;



//    @JsonIgnore
//    @ApiModelProperty(value = "分配开始时间（搜索）")
//    private Date beginTime;
//
//    @JsonIgnore
//    @ApiModelProperty(value = "分配结束时间（搜索）")
//    private Date endTime;

}
